[Chapter 37] 37.2 Debugging Behavior
Author: Bryan Costales & Eric Allman
Date: 1999-01-06T22:03:03Z

#

| Chapter 37 Debugging with -d |

## 37.2 Debugging Behavior

When sendmail is given the `-d` debugging switch, it internally performs three distinct actions. First, if the `category.level` is omitted, sendmail presets all categories 0-99 inclusively to a level of 1. It then sets the categories in the command line (if any) to the corresponding levels specified (or to 1 if no level is specified). Finally, it calls setbuf(3) to place the standard output in unbuffered mode.

Setting categories 0-99 to a level of 1 has two side effects:

- Usually, certain errors are not reported because they are tolerable, but a level of 1 generally causes those otherwise missing error messages to be printed. For example, if the aliases file is missing, sendmail does not perform aliasing but is silent about it. A category 27 level of 1, on the other hand, causes sendmail to print the reason it could not open the aliases file.

- Since sendmail is usually silent about what it is doing, any debugging at all causes it to print a great deal of information about what it is trying to do and what it has done.

37.1 The Syntax of -d |  | 37.3 Interpreting the Output